Messaging server to redirect an instant message to a mobile device

ABSTRACT

A messaging server is configured to receive an instant message comprising a message address and to store a mobile device ID associated with the message address. The messaging server is configured to redirect the instant message to a mobile device associated with the mobile device ID and to send the instant message to the mobile device.

CROSS-REFERENCE TO RELATED APPLICATION

This application is a Divisional of U.S. application Ser. No. 11/650,322, filed Jan. 5, 2007, which is a Continuation of U.S. application Ser. No. 09/999,035 filed Nov. 1, 2001, both of which are incorporated by reference in their entireties.

BACKGROUND

The traditional messaging systems (email and instant messaging) are designed around the philosophy of a fixed messaging server and static messaging addresses through which messages may be sent to reach the intended user. Once a messaging address is known, it may be used repeatedly to send messages. The address may also be used independent of time and location of either the sender or recipient.

In a more mobile environment, where users are using mobile wireless devices (such as a handheld or portable computer), traditional messaging systems may not be optimal. While the idea of a static messaging address is appealing, it is often not the most practical. Once a messaging address has been given out, there is no explicit mechanism to change or revoke an address. To revoke an address, the user must either cancel the messaging account (or no longer access it), or filter out messages from unwanted users. The former mechanism requires the user to notify people of a change in address (for those that should still be able to send messages), and the latter requires complex software and constant configuration on the client side. In addition, the second method places an increased load on the mobile device and its communication links.

An additional problem for messaging in a mobile network environment is the use of localized resources and ad hoc networks.

Accordingly, there is a need for a messaging system in a mobile network which utilizes temporary messaging addresses associated with unique mobile identifications.

There is also a need for a messaging server that is enabled to associate temporary messaging addresses with mobile devices. Further, there is a need for a method of communicating between a first mobile communications device and a second mobile communications device using temporary messaging addresses and, further, depending on specified conditions. Further still, there is a need for a method of alerting patrons of available services by utilizing temporary messaging addresses associated with individual mobile devices.

It would be desirable to provide a system and/or method that provides one or more of these or other advantageous features. Other features and advantages will be made apparent from the present specification. The teachings disclosed extend to those embodiments which fall within the scope of the appended claims, regardless of whether they accomplish one or more of the aforementioned needs.

SUMMARY

An exemplary embodiment of the invention relates to a messaging system. The messaging system includes a communications network including a wireless access point, a messaging server coupled to the communications network, and a mobile device in communication with the communications network via an access point. The mobile device has a mobile ID associated with the device and a program running on the mobile device from which a temporary address may be created corresponding to the mobile ID. The temporary address is useable for messaging over the communications network the temporary address being registered with the messaging server.

Another exemplary embodiment of the invention relates to a method of providing messaging services to a user of a mobile communications device. The method includes providing a mobile device having a mobile ID associated therewith and running a messaging program on the device. The method also includes creating, via the program, a temporary messaging address, communicating the temporary messaging address to a messaging server, and sending a message using the temporary messaging address.

Further, an exemplary embodiment of the invention relates to a messaging server. The messaging server includes a protocol adapter for receiving messages from mobile communications devices, each mobile communications device having a unique mobile ID associated therewith, a messaging queue for ordering the delivery of incoming and outgoing messages, sent from the mobile communications devices, and an address translator enabled to determine the mobile ID associated with the temporary delivery address identified in the incoming message.

Further still, an exemplary embodiment of the invention relates to a method of alerting a patron of an available service. The method includes creating a temporary messaging address associated with a mobile device having a unique mobile ID and sending a message to the temporary address through a server. The message includes a notification of the service availability. The method also includes translating the temporary messaging address to the mobile ID, by the server, and sending the message to the mobile device associated with the mobile ID.

Yet still another exemplary embodiment of the invention relates to a method of communicating between a first mobile communications device and a second mobile communications device. The method includes creating a first temporary messaging address associated with the first mobile communications device, creating a second temporary messaging address associated with the second mobile communications device, and providing conditions under which messages may be delivered between the two devices. The method also includes sending a message from the first mobile communications device to the second mobile communications device using the second temporary messaging address, determining if the conditions for sending the message are satisfied, and delivering the message to the second temporary address if the conditions are satisfied.

Alternative exemplary embodiments relate to other features and combination of features as may be generally recited in the claims.

BRIEF DESCRIPTION OF THE DRAWINGS

The invention will become more fully understood from the following detailed description, taken in conjunction with the accompanying drawings, wherein like reference numerals refer to like elements, in which:

FIG. 1 is a block diagram of a messaging server;

FIG. 2 is a block diagram of a messaging system; and

FIG. 3 is a block diagram of a communications system.

DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS

If a mobile user wants to have messaging capabilities with users in a localized geographical area it may be advantageous to use localized servers and addresses. This would offer the following advantages:

-   -   Better performance, less performance problems from larger area         networks (e.g., delay, bandwidth).     -   Lack of global networking connections. Often a local area may         offer a localized network with no general internet connectivity.         Messaging could be accomplished via local servers with temporary         addresses. This may especially be applicable in ad hoc networks.     -   The ability to explicitly exploit location and time information         in messaging.     -   The ability to use, modify, or revoke messaging addresses.     -   The ability to switch from local to global messaging servers         (use local service when available, but switch to global when         leaving local area).

A mobile user may also have more than one mobile device (e.g., cell phone, PDA, pager, etc). Each one of these devices may be used for communication to the mobile user. In addition, the mobile user may have a preference as to which is used. It should be possible for a mobile user to register multiple devices, but specify a preference to which is used. In addition, some mobile devices do not permit direct communications between servers and devices (e.g., cell phones and pagers). Messages to these device may need to be passed through an external service (e.g., telephone system). This document discusses primarily data devices and local wireless devices, but the system and ideas disclosed may be applied to other, larger coverage area wireless technologies.

The disclosure relates to a system by which messaging addresses can be dynamically assigned to allow more user control over messaging. A system is available which can dynamically create new messaging addresses for a mobile user on demand. The mobile user can give out different messaging addresses to different people, and can revoke (cancel) an address anytime thereby preventing messages from reaching the user.

This messaging system also is ideally suited for localized messaging, as might be found in a shopping mall or other sites in which localized messaging may be useful.

A further component of a messaging system of the type disclosed is the use of location and time specification in message submission. When a message is sent, it may include both time and location conditions. Messages will only be delivered if the mobile user is in the specified location at the specified time.

The messaging system disclosed may include any one of or any combination of the following characteristics:

-   -   1. The mail recipient has control over the duration of existence         of the messaging address.     -   2. Should support both e-mail (time insensitive), and instant         messaging (time sensitive) standards.     -   3. The system should prevent spam (e-mail from unknown people)         or unauthorized messages.     -   4. The system should support existing email and messaging         standards.     -   5. Messages should be cancelable by the sender.     -   6. People can request to be notified of cancelled addresses.     -   7. Users can cancel mail addresses at any time.     -   8. Messaging system can not be used for tracking.     -   9. A mobile user can use multiple messaging addresses.

Associated with each mobile device may be one or more mobile IDS. A mobile ID may be a universal resource locator (URL) which specifies the location of services for a mobile device or any other unique identifier associated with an individual mobile device. URLs provide a standard format for specifying a resource (message service) independent of specific service or protocol. Examples include but are not limited to:

mailto:customer1@mall.com

instantMessage://mobile.mall.com/customer1

email://customer1.mall.com

message:customer1@xxx.yyy.com

The mobile ID may be used for services other than messaging and provides a common format for such services. As an example, a mobile device may be assigned mobile ID:

MobileID://mobile.mall.com/customer1

The email or instant messaging address could be obtained from the Mobile ID by replacing the protocol specification with the appropriate services requested. For example:

Email://mobile.mall.com/customer1

The system may be configured to support two (or more) types of addressable entities, such as mobile devices and mobile users.

A mobile user may have multiple mobile devices (e.g., a laptop computer, a handheld computer, a pager, a mobile telephone, etc.). Messages may be redirected between the different mobile devices (e.g., e-mail messages redirected to a pager).

Referring now to FIG. 1, in an exemplary embodiment a messaging server 100 may be a localized server which provides messaging services. It may be responsible for receiving messages, buffering messaging, and sending messages to the mobile devices among other tasks.

The architecture of message server 100 includes two processing queues. The first queue (processing queue 110) holds incoming messages 105 and messages waiting for condition (location and time) satisfaction. A message is removed from the queue when all conditions are satisfied, for example, time and/or location conditions.

An address translator 120 is responsible for translating an address of message 105. The mobile ID of message 105 is converted into an address used for delivery to a mobile device 125. Address translator 120 may also be used to redirect messages to different mobile devices (if specified by the mobile user).

A delivery queue holds messages until the mobile ID can be translated into a physical address. The delivery queue may include a push delivery queue 130 and a pull delivery queue 135. The push delivery queue attempts to deliver a message when mobile device 125 is accessible. If mobile device 125 is unavailable, the message is held in this queue until a physical address is available. Pull delivery queue 135 is used for queuing messages which must be pulled by the client. Messages are stored until requested by the client. The queue may support legacy protocols, such as but not limited to IMAP, POP or others.

Mobile device events are notifications in the change of location (or other properties) of mobile device 125. These events are used to trigger the condition of messages waiting in the processing queue. A mobile device state information unit 140 keeps track of the current location of mobile device 125 and its current physical address. The current location may be supplied through a location determination service on or linked to the network.

A mobile ID control unit 145 is responsible for keeping track of mobile IDs. Messages may also be sent to mobile device control unit 145. These message represent control messages used to allocate, modify, and change mobile IDs.

Acknowledgement messages (containing a message ID) are sent once the message has left the delivery queue.

The basic functionality of the server may include but is not limited to:

-   -   Support existing messaging standards. The server can act as a         server for existing messaging protocols. For example, IMAP, POP,         Instant Messaging (Jabber, AOL, MS, etc).     -   Receive location events. When the network detects that a mobile         device has moved location, a location event is sent to message         server 100. The condition on pending messages are evaluated to         see if they should be released. For example, notification of         when the mobile device moves and/or sending messages on         condition evaluation.     -   Buffering messages. For example, messaging waiting for events         and/or messaging waiting for delivery.     -   Receive message. For example, return message ID, and/or make or         contain time and location conditions.     -   Cancel message. For example, message specified by message ID.     -   Send message. For example, return messages associated with         mobile ID.     -   Direct messages. For example, the message server can forward         messages to another server.     -   Revoke message address. For example, turn off a message address.     -   Message delivery confirmation. For example, recipient         controlled.

The protocol adapters are used to support the different protocols and encoding with different existing messaging systems.

In an exemplary embodiment, the following communications may be supported by message server 100:

-   -   Register mobile_user, used to register a mobile user.     -   Register mobile_device, used to register a mobile_device.     -   Set mobile_user preferences, such as a message describing any         processing to be applied to messages, for example, message         redirection and/or message filtering.     -   Send message, used to send a message.     -   Receive message, used to get a message.     -   Unregister mobile_user, used to cancel mobile_user and all         associated mobile_devices.     -   Unregister mobile_ID, used to cancel mobile_ID.     -   Query messageServer, used to get a description of message server         capabilities and configurable capabilities.

In an exemplary embodiment, the messaging client such as mobile device 125 should support the following operations:

-   -   Send message wherein the Message_ID may be returned.     -   Receive/display message.     -   Create new mobile_ID.     -   Delete mobile_ID.     -   Location specification.     -   Time specification.     -   Cancel message.     -   View all messages including those deleted and/or including those         waiting for events.

Further, in an exemplary embodiment a legacy messaging application 210 (see FIG. 2) may be augmented with a client assist application 220.

The system should be compatible with existing messaging systems. Likewise, existing messaging clients should be compatible with this system, although full functionality may or may not be possible.

Referring now to FIG. 3, messaging server 100 is coupled to a local communications network 310 for sending messages to users connected to local communications network 310 or, alternatively, to an external communications network 320. As described above, local communications network 310 includes access points 330 that provide wireless access from mobile devices 340 to local communications network 310. In the exemplary embodiments disclosed, mobile device 340 is enabled to create temporary addresses utilized by devices accessing local communications network 310 via messaging server 100.

The mobile ID can be used to determine the email or instant messaging address of the mobile user. These addresses can be passed to existing email and instant messaging systems so that they can send messages.

Any e-mail or instant messaging client can be used to send messaging in this system.

The mobile user can also use standard instant messaging/email clients. The client application would need to be configured to bind themselves to the proper servers, and supply correct user ID/passwords for message retrieval. Not all existing messaging client support multiple addresses.

A legacy e-mail 210 or instant messaging system may be unable to specify location specific properties of a message, cancel messages, or be notified of address cancellation as the existing application and protocol do not typically support these types of operations. Accordingly, messaging assist application 220 may provide an interface for e-mail application 210 and message server 100, wherein message server 100 is enabled to handle mobile users using temporary messaging addresses.

In yet a further exemplary embodiment, a cell phone voice system may be accessible through a plain old telephone system (POTS). Voice calls may be sent through the telephone system and a mobile user would need to register the telephone number. Voice messages may also be sent through the POTS and a mobile user needs to register the telephone number. Text messages (e.g., SMS) may also be sent through a carrier message service and a mobile user needs to register a message address. Further, pager messages may be sent through the POTS of message service and a mobile user needs to register a telephone number or message service address.

When a message is sent, location conditions may be placed on the message. Location may be specified in many ways, including but not limited to, absolute coordinates (GPS, latitude, longitude), relative coordinates (to message server, mobile device, or other objects), zones (location specific zones), transitions into or out of zones, and other formats.

Location specifications may not be allowed which enable tracking. It may be valid for a mobile user 1 to specify that a message should be sent to mobile user 2 when they are within 100 meters, but not valid for mobile user 1 to request a message to be sent to himself when they are more than 100 meters apart. This could only be done with cooperation of mobile user 2. The location information may be encoded into messages depending upon message encoding scheme including, but not limited to, MIME extension for e-mail or XML tag.

To determine which location formats are accepted by message server 100, limits of location values, and defined zones, a message may be sent to message server 100 requesting the information. The information may be supplied in XML encoded format, for example.

A message address may be deleted be either the mobile user or the message service provider. Also, it is desirable to eliminate unused mobile IDs. A customer, for example, may have the option to specify how long the address is valid.

The messaging service provider (e.g., mall management) may also explicitly or implicitly limit the validity of the mobile addresses. Options may include, but are not limited to, adding temporary addresses deleted at regular times, such as when the mall closes. Having mobile IDs deleted after a period of non-use, for example, one day with no messages, or two days with stored messages. Also, mobile IDs may be deleted at a user specified time. Further, a mobile ID may be deleted when the customer leaves the mall. In an exemplary embodiment, leaving the mall may be differentiated from turning the device off.

Messages or mobile Ds may also be deleted if the number of messages being stored or delivered becomes excessive (e.g., in the case of SPAM or mail bomb reaction).

Example 1

Consider a retail shopping mall. Customers may use mobile devices (such as PDAs) with wireless connections for various location based services. A customer requests a service (such as 1 hour photo service) in a store within the mall. The service will be complete at some time in the future and the customer wishes to be notified when the service (photo developing) is complete.

The customer can communicate through a wireless technology (such as 802.11 or Bluetooth) to a mall network support services for mobile devices. The customer can request a mobile ID from the network. This ID is then passed to the photo store as the address to use for sending notices. When the customer' film is developed, the store can send a message to him using his mobile ID.

The store may also choose to send a location specific message. If the customer is detected outside of the mall, they may send him another message reminding him of the developed film.

Once the film is collected, location based messages should be cancelled (you don't want to bother the customer).

Example 2

The same customer (as in example 1) is hungry, and wants to eat. He selects a restaurant in the mall he wants to eat at, but it has a waiting list. Through his mobile device he requests a reservation (or to be put on waiting list). He gives his mobile ID (same as example 1) to the restaurant and asks to be notified when his table is ready.

When the customer's name is getting near the top of the list, the restaurant wants to warn the customer that his table will be ready soon. The restaurant sends the following messages:

-   -   When the customer is fifth on the list, send message to the far         locations of the mall.     -   When the customer is third on the list, they send message to the         medium distances away part of the mall and the previous message         is cancelled.     -   When the customer is first on the list, they send message to all         locations in mall and the previous message is cancelled.         When the customer receives the message, he can reply to         acknowledge he still wants the table.

Example 3

The same customer goes into a store and asks a clerk for help in finding an item. The clerk says she will need to go and check the backroom. She will message him when she knows if the item is available.

The customer requests a new mobile ID, and gives it to the clerk. After looking around the store, he decides he is not interested in the item, and cancels the mobile ID. There is no reason for the store to bother the customer. He can still receive other messages (examples 1 and 2). The clerk may be notified of the cancelled ID, if she requested notification in advance.

Example 4

A husband and wife are shopping separately in the mall. If they are near each other they would like to be informed. Both husband and wife send each other a message with a separation condition of 100 meters. When they are within 100 meters, their messages are delivered. They may then communicate to see where the other is.

Example 5

A meeting is schedule for 5:00 p.m. in conference room A. When the meeting is scheduled, a message is sent to everyone in the meeting with the following conditions

Time 5:00 p.m.

Location (conference room A).

A reminder message is sent. If the meeting is altered, the messages may be cancelled.

Example 6

A mobile user enters a mall. He registers himself as a mobile user. He registers his handheld computer and pager. He queries the message server and determines the server can support message redirection. He sends a configuration message to the message server stating than any messages destined for his handheld computer should be redirected to his pager. Whenever a message is sent to his handheld computer, the message server redirects it to his pager. When he leaves the mall, he unregisters his mobile_user, and all addresses are deleted.

While the detailed drawings, specific examples and particular formulations given describe preferred and exemplary embodiments, they serve the purpose of illustration only. The inventions disclosed are not limited to the specific forms shown. For example, the methods may be performed in any of a variety of sequence of steps. The hardware and software configurations shown and described may differ depending on the chosen performance characteristics and physical characteristics of the computing devices. For example, the type of computing device, communications bus, or processor used may differ. The systems and methods depicted and described are not limited to the precise details and conditions disclosed. Furthermore, other substitutions, modifications, changes, and omissions may be made in the design, operating conditions, and arrangement of the exemplary embodiments without departing from the scope of the invention as expressed in the appended claims. 

What is claimed is:
 1. A system, comprising: a messaging server configured to: receive, from a first mobile device, an instant message comprising a temporary message address that corresponds to a second mobile device that is to receive the instant message, wherein the temporary message address is one of a plurality of temporary addresses associated with a mobile device identification of the second mobile device stored in a memory resource of the messaging server, and is valid for a period of time specified by a user of the second mobile device or the messaging server; determine the mobile device identification of the second mobile device by comparing the temporary message address that corresponds to the second mobile device with one or more temporary message addresses previously stored and associated with the mobile device identification of the second mobile device; queue the instant message for delivery; and send the instant message to the second mobile device associated with the mobile device identification of the second mobile device upon receiving a notification of a change of a property of the second mobile device from the second mobile device.
 2. The system of claim 1, wherein the mobile device identification comprises a telephone number associated with the second mobile device.
 3. The system of claim 1, wherein the change of a property of the second mobile device comprises a change in a location of the second mobile device.
 4. The system of claim 1, wherein the messaging server comprises a push delivery queue to queue the instant message for delivery.
 5. The system of claim 1, wherein the messaging server is configured to send the instant message to the second mobile device based on configuration data.
 6. The system of claim 5, wherein the configuration data is received as a configuration message from the second mobile device.
 7. A method for operating a communication system, the method being performed by a messaging server and comprising: storing, in a memory resource of the messaging server, a mobile device identification of a first mobile device and a plurality of temporary message addresses each associated with the mobile device identification of the first mobile device, wherein each of the plurality of temporary message addresses corresponds to the first mobile device and is valid for a period of time specified by a user of the first mobile device or the messaging server; receiving, from a second mobile device, an instant message, the instant message including one of the plurality of temporary message addresses; determining the mobile device identification of the first mobile device by comparing the received one of the plurality of temporary message addresses with each of the plurality of temporary message addresses previously stored; queuing, by the messaging server, the instant message for delivery; and delivering the instant message to the first mobile device using the determined mobile device identification of the first mobile device upon the first mobile device sending a notification of a change of a property of the first mobile device to the messaging server.
 8. The method of claim 7, wherein the mobile device identification comprises a telephone number associated with the first mobile device.
 9. The method of claim 7, wherein the change of a property of the first mobile device comprises a change in a location of the first mobile device.
 10. The method of claim 7, wherein delivering the instant message to the first mobile device includes delivering the instant message to the first mobile device based on configuration data.
 11. The method of claim 10, wherein the configuration data is received as a configuration message from the first mobile device.
 12. A non-transitory computer-readable medium storing instructions that, when executed by a processor of a messaging server, causes the processor to perform steps comprising: storing, in a memory resource of the messaging server, a mobile device identification of a first mobile device and a plurality of temporary message addresses each associated with the mobile device identification of the first mobile device, wherein each of the plurality of temporary message addresses corresponds to the first mobile device and is valid for a period of time specified by a user of the first mobile device or the messaging server; receiving, from a second mobile device, an instant message, the instant message including one of the plurality of temporary message addresses; determining the mobile device identification of the first mobile device by comparing the received one of the plurality of temporary message addresses with each of the plurality of temporary message addresses previously stored; queuing, by the messaging server, the instant message for delivery; and delivering the instant message to the first mobile device using the determined mobile device identification of the first mobile device upon the first mobile device sending a notification of a change of a property of the first mobile device to the messaging server.
 13. The non-transitory computer-readable medium of claim 12, wherein the mobile device identification comprises a telephone number associated with the first mobile device.
 14. The non-transitory computer-readable medium of claim 12, wherein the change of a property of the first mobile device comprises a change in a location of the first mobile device.
 15. The non-transitory computer-readable medium of claim 12, wherein the instructions cause the processor to deliver the instant message to the first mobile device by delivering the instant message to the first mobile device based on configuration data.
 16. The non-transitory computer-readable medium of claim 15, wherein the configuration data is received as a configuration message from the first mobile device. 